package utn.defensores.dao;

import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.Transaction;
import utn.defensores.dominio.Categoria;
import utn.defensores.util.HibernateUtil;

/**
 *
 * @author Ignacio
 */
public class CategoriaDao {

    public Categoria getCategoria(Integer idCategoria) {
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        Categoria categoria = null;
        Transaction tx = null;
        try {
            tx = session.beginTransaction();
            categoria = (Categoria) session.load(Categoria.class, idCategoria);
            tx.commit();
        } catch (Exception e) {
            if(tx != null)
                tx.rollback();
            // TODO manejar con excepciones
        }
        
        return categoria;
    }
    
    public List<Categoria> listCategoria() {
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        List<Categoria> categorias = null;
        Transaction tx = null;
        try {
            tx = session.beginTransaction();
            Criteria criteria = session.createCriteria(Categoria.class);
            categorias = criteria.list();
            tx.commit();
        } catch (Exception e) {
            if(tx != null)
                tx.rollback();
            // TODO manejar con excepciones
        }
        return categorias;
    }
}
